Unless otherwise indicated herein, approaches described in this section are not prior art to the claims listed below and are not admitted as prior art by inclusion in this section.
To increase the coding efficiency of motion vector (MV) coding, High Efficiency Video Coding (HEVC) provides Skip and Merge modes. Skip and Merge modes obtain motion information (MI) from spatially neighboring blocks (spatial candidates) or a temporal co-located block (temporal candidate). When a Prediction Unit (PU) is coded by Skip or Merge mode, no motion information is coded, instead, only the index of the selected candidate is coded. For Skip mode, the residual signal is forced to be zero and not coded. In HEVC, if a particular block is encoded by Skip or Merge mode, a candidate index is signaled to indicate which merge candidate among a set of candidates is used for merging. Each merged PU reuses the motion information of the selected merge candidate, which includes the MV, prediction direction, and references picture index of the selected merge candidate.
For merge mode in HM-4.0 of HEVC, up to four spatial merge candidates are derived from four spatial neighbors A0, A1, B0 and B1, and one temporal merge candidate is derived from TBR or TCTR (TBR is used first, if TBR is not available, TCTR is used instead). If any of the four spatial candidates is not available, the position B2 is then used to derive the temporal candidate as a replacement. After deriving the four spatial candidates and the one temporal candidate, redundant candidates are removed (pruned) from the merge candidate list. If after pruning, the number of available candidates in the merge candidate list is smaller than five, three types of additional candidates are derived and added to the candidate set (also referred to as merge candidate list). The encoder selects one final candidate within the candidate set for Skip, or Merge modes based on the rate-distortion optimization (RDO) decision and transmits the index to the decoder. (Hereafter in this document, skip mode and merge mode are collectively referred to as “merge mode”).